Centos 7安装KVM

Centos 7安装KVM

标签:centos

背景概述

虚拟化技术是一种资源管理技术,将计算机的各个实体资源,用抽象的方式呈现。是的物理硬件得到重组获得最大的应用。而KVM的全称为(Kernel-based Virtual Machine),是开源的系统虚拟化模块。支持硬件的完全虚拟化,是目前主流虚拟化技术之一。(云计算和虚拟化是有区别的,云计算是基于互联网相关服务的增加、使用、交付的一种模式,而虚拟化是一种技术。云计算需要使用到虚拟化技术,并不是虚拟化)。

环境准备

1
2
3
sed -i 's#=enforcing#=disabled#' /etc/selinux/config
setenforce 0
systemctl stop firewalld #关闭防火墙
1
yum -y install qemu-kvm python-virtinst libvirt libvirt-python virt-manager libguestfs-tools bridge-utils virt-install #安装需要的环境
  • qemu-kvm 主要的KVM程序包

  • python-virtinst 创建虚拟机所需要的命令行工具和程序库

  • virt-manager GUI虚拟机管理工具

  • virt-top 虚拟机统计命令

  • virt-viewer GUI连接程序,连接到已配置好的虚拟机

  • libvirt C语言工具包,提供libvirt服务

  • libvirt-client 为虚拟客户机提供的C语言工具包

  • virt-install 基于libvirt服务的虚拟机创建命令

  • bridge-utils 创建和管理桥接设备的工具

1
systemctl start|stop|restart|enable|status libvirtd  #启动|停止|重启|开机启动|查看状态

安装kvm

1
2
3
4
5
6
7
8
9
10
11
12
13
mkdir -p /tmp/kvm  #存放镜像位置
mkdir -p /home/kvm #安装目录位置
virt-install \
--virt-type=kvm \
--name=centos7 --vcpus=1 --memory=1024 \ #名称、cpu个数、内存大小
--location=/tmp/kvm/CentOS-7-x86_64-Minimal-1511.iso \ #安装镜像位置
--disk path=/home/kvm/centos7.qcow2,size=10,format=qcow2 \ #磁盘位置、磁盘大小
--network bridge=virbr0 \ #桥接网卡
--graphics none \ #是否开启图像界面
--extra-args='console=ttyS0' \ #定义额外参数
--force \

virt-install --virt-type=kvm --name=centos7 --vcpus=1 --memory=1024 --location=/tmp/kvm/CentOS-7-x86_64-Minimal-1511.iso --disk path=/home/kvm/centos7.qcow2,size=10,format=qcow2 --network bridge=virbr0 --graphics none --extra-args='console=ttyS0' --force

进入命令行安装界面

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Installation

1) [x] Language settings 2) [!] Timezone settings
(English (United States)) (Timezone is not set.)
3) [!] Installation source 4) [!] Software selection
(Processing...) (Processing...)
5) [!] Installation Destination 6) [x] Kdump
(No disks selected) (Kdump is enabled)
7) [ ] Network configuration 8) [!] Root password
(Not connected) (Password is not set.)
9) [!] User creation
(No user will be created)
Please make your choice from above ['q' to quit | 'b' to begin installation |
'r' to refresh]:
  • Language settings #语言设置

  • Timezone settings #时区设置

  • Installation source #安装方式

  • Software selection #自定义安装软件

  • Installation Destination #指定安装的磁盘

  • Network configuration #网路设置

  • Root password #设置root密码

    (记得调整号安装方式要刷新要不然无法显示无法安装)

设置完成按b就会自定安装安装完成重启进入系统

virsh 常用命令

1
2
3
4
5
6
7
8
9
10
11
virsh console "name"     #启动相对"name"命令行
virsh start "name" # 虚拟机开启(启动):
virsh reboot "name" # 虚拟机重新启动
virsh shutdown "name" # 虚拟机关机
virsh destroy "name" # 强制关机(强制断电)
virsh suspend "name" # 暂停(挂起)KVM 虚拟机
virsh resume "name" # 恢复被挂起的 KVM 虚拟机
virsh undefine "name" # 该方法只删除配置文件,磁盘文件未删除
virsh autostart "name" # 随物理机启动而启动(开机启动)
virsh autostart --disable "name" # 取消标记为自动开始(取消开机启动)
virsh list "name"|all #查看kvm虚拟机列表

桥接网卡

默认使用是NAT模式虚拟机可以访问外网,但是外网主机无法访问虚拟机。可以根据环境要求配置供外网访问的虚拟主机。这里需要桥接网卡。

NAT

先单独创建虚拟网卡然后进行桥接

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-br0 #新建虚拟网卡,配置复制前面的网卡

vim ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="88436a77-36c0-4a7c-81ad-e10f6d3edda5"
DEVICE="ens33"
ONBOOT="yes"
BRIDGE=br0 #添加桥接的网卡

vim ifcfg-br0
TYPE="Bridge" #改为桥接模式
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
NAME="br0"
#UUID="88436a77-36c0-4a7c-81ad-e10f6d3edda5"
DEVICE="br0"
ONBOOT="yes"

重启网络

1
systemctl restart network

IFCONFIG

新建虚拟主机

1
2
3
4
5
6
7
8
9
virt-install  \
--virt-type=kvm \
--name=centos7 --vcpus=1 --memory=1024 \
--location=/tmp/kvm/CentOS-7-x86_64-Minimal-1511.iso \
--disk path=/home/kvm/centos7.qcow2,size=10,format=qcow2 \
--network bridge=br0 \ #网卡桥接指定为br0
--graphics none \
--extra-args='console=ttyS0' \
--force \

安装完成之后启动虚拟机网络

IP

外网主机可以直接ping通192.168.2.169